import java.io.*;
import java.util.*;

public class AveragePrise {
    public static void main(String args[]) {
        File file = new File("Data.txt");
        Scanner sc = null;
        int count = 0;
        double sum = 0;

        try {// 捕获可能在代码中抛出的异常
            double score = 0;
            sc = new Scanner(file);
            sc.useDelimiter("[^0123456789.]+");

            while (sc.hasNextDouble()) {
                score = sc.nextDouble();
                count++;
                sum = sum + score;
                // System.out.println(score);
            }

            double aver = sum / count; // 计算平均数
            String averCost = String.format("%.3f", aver); // 保留三位小数
            System.out.println("平均成绩：" + averCost + "元"); // 控制台输出结果

            // 文件写入功能
            String filePath = "Data.txt"; // 文件路径
            BufferedWriter writer = new BufferedWriter(new FileWriter(filePath, true));
            writer.newLine(); // 插入换行符
            writer.write("平均价格：");
            writer.newLine(); // 插入换行符
            writer.write(averCost + "元");
            writer.close(); // 关闭BufferedWriter，确保数据写入，此行为gpt生成。
            System.out.println("文件创建成功并且内容已写入。");

        } catch (Exception exp) {
            System.out.println("计算出错或文件写入失败：" + exp.getMessage());
        } finally {// GPT生成。
            if (sc != null) {
                sc.close(); // 关闭Scanner
            }
        }
    }
}
